import axios from 'axios'
import store from '../store'
// import { Promise } from 'core-js';

//创建axios实例
const instance = axios.create({
    baseURL: "http://kumanxuan1.f3322.net:8881/cms",
    timeout: 5000
})

//封装请求拦截器
instance.interceptors.request.use(config => {
    // console.log("请求拦截器中的代码", config);
    //config 是一个对象 ,保存关于本次请求的信息
    const token =localStorage.getItem("x-auth-token");
    if(token){
        config.headers["x-auth-token"]=token
    }
    // console.log(config);
    return config
}, err => {
    return Promise.reject(err)
})


//封装响应拦截器
instance.interceptors.response.use(res => {
    // console.log("响应拦截器中的res", res.data);
    //这个函数在后端返回数据,并且在组件内部接收之前执行
    //res 是axios封装关于这一次响应的对象
    //res.data 就是后端给我们的数据
    //统一处理响应码不为0的情况
    let res_data = res.data
    if (res_data.code != 0 && res_data.code!=400 && res_data.code!=407) {
        //业务失败的时候提醒用户有问题
        store._actions['showToast/asyncChenIsShowToast'][0]({
            msg: res_data.message,
            type: "danger"
        })
        return false
    }
    return res_data
}, err => {
    alert(err)
    return Promise.reject(err)
})
export default instance